package com.xlh.virtualization.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Container {

    private Long id;

    /**
     * 对应dokkaId
     */
    private Long dokkaId;

    /**
     * 容器名称
     */
    private String containerName;

    /**
     * 镜像id
     */
    private Long imageId;

    /**
     * 容器ip
     */
    private String ip;

    /**
     * 容器状态，1：运行，2：停止，3：即将停止
     */
    private Integer containerStatus;

    /**
     * cpu核数
     */
    private Integer cpu;

    /**
     * 内存大小（GB）
     */
    private Integer ram;

    /**
     * 是否分配gpu
     */
    private Boolean gpu;

    /**
     * 容器所属者id
     */
    private Long userId;

    /**
     * 场景类型，1：实验课，2：环境实训，3：考试，4：实验课镜像分配，5：环境实训镜像分配，6：考试试题镜像分配
     */
    private Integer contextType;

    /**
     * 根据场景类型分别为实验课章节id，实训id，试题id
     */
    private Long contextId;

    /**
     * 容器角色，0：单容器，1：集群主节点，2：集群从节点
     */
    private Integer containerRole;

    /**
     * 集群从节点序号
     */
    private Integer roleNumber;

    /**
     * 是否全屏
     */
    private Boolean fullScreen;

    /**
     * VNC分辨率长度
     */
    private String length;

    /**
     * VNC分辨率宽度
     */
    private String width;

    private Boolean deleted;

    private Date createTime;

    private Date updateTime;
}